package de.sabram.upb.specs.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.sabram.upb.specs.services.MapGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMapParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_INT", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'MAPCHAINS'", "':'", "'::='", "'MAPSYM'", "'MAPRULE'", "'.'", "'<'", "'>'", "'$'"
    };
    public static final int RULE_ID=6;
    public static final int RULE_ANY_OTHER=10;
    public static final int EOF=-1;
    public static final int RULE_SL_COMMENT=8;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__19=19;
    public static final int RULE_STRING=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalMapParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMapParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMapParser.tokenNames; }
    public String getGrammarFileName() { return "../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g"; }


     
     	private MapGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MapGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleTypeMapFile"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:60:1: entryRuleTypeMapFile : ruleTypeMapFile EOF ;
    public final void entryRuleTypeMapFile() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:61:1: ( ruleTypeMapFile EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:62:1: ruleTypeMapFile EOF
            {
             before(grammarAccess.getTypeMapFileRule()); 
            pushFollow(FOLLOW_ruleTypeMapFile_in_entryRuleTypeMapFile61);
            ruleTypeMapFile();

            state._fsp--;

             after(grammarAccess.getTypeMapFileRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTypeMapFile68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTypeMapFile"


    // $ANTLR start "ruleTypeMapFile"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:69:1: ruleTypeMapFile : ( ( ( rule__TypeMapFile__Alternatives ) ) ( ( rule__TypeMapFile__Alternatives )* ) ) ;
    public final void ruleTypeMapFile() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:73:2: ( ( ( ( rule__TypeMapFile__Alternatives ) ) ( ( rule__TypeMapFile__Alternatives )* ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:74:1: ( ( ( rule__TypeMapFile__Alternatives ) ) ( ( rule__TypeMapFile__Alternatives )* ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:74:1: ( ( ( rule__TypeMapFile__Alternatives ) ) ( ( rule__TypeMapFile__Alternatives )* ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:75:1: ( ( rule__TypeMapFile__Alternatives ) ) ( ( rule__TypeMapFile__Alternatives )* )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:75:1: ( ( rule__TypeMapFile__Alternatives ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:76:1: ( rule__TypeMapFile__Alternatives )
            {
             before(grammarAccess.getTypeMapFileAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:77:1: ( rule__TypeMapFile__Alternatives )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:77:2: rule__TypeMapFile__Alternatives
            {
            pushFollow(FOLLOW_rule__TypeMapFile__Alternatives_in_ruleTypeMapFile96);
            rule__TypeMapFile__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getTypeMapFileAccess().getAlternatives()); 

            }

            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:80:1: ( ( rule__TypeMapFile__Alternatives )* )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:81:1: ( rule__TypeMapFile__Alternatives )*
            {
             before(grammarAccess.getTypeMapFileAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:82:1: ( rule__TypeMapFile__Alternatives )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==11||(LA1_0>=14 && LA1_0<=15)) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:82:2: rule__TypeMapFile__Alternatives
            	    {
            	    pushFollow(FOLLOW_rule__TypeMapFile__Alternatives_in_ruleTypeMapFile108);
            	    rule__TypeMapFile__Alternatives();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getTypeMapFileAccess().getAlternatives()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTypeMapFile"


    // $ANTLR start "entryRuleSymbolMapping"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:95:1: entryRuleSymbolMapping : ruleSymbolMapping EOF ;
    public final void entryRuleSymbolMapping() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:96:1: ( ruleSymbolMapping EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:97:1: ruleSymbolMapping EOF
            {
             before(grammarAccess.getSymbolMappingRule()); 
            pushFollow(FOLLOW_ruleSymbolMapping_in_entryRuleSymbolMapping138);
            ruleSymbolMapping();

            state._fsp--;

             after(grammarAccess.getSymbolMappingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSymbolMapping145); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSymbolMapping"


    // $ANTLR start "ruleSymbolMapping"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:104:1: ruleSymbolMapping : ( ( rule__SymbolMapping__Group__0 ) ) ;
    public final void ruleSymbolMapping() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:108:2: ( ( ( rule__SymbolMapping__Group__0 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:109:1: ( ( rule__SymbolMapping__Group__0 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:109:1: ( ( rule__SymbolMapping__Group__0 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:110:1: ( rule__SymbolMapping__Group__0 )
            {
             before(grammarAccess.getSymbolMappingAccess().getGroup()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:111:1: ( rule__SymbolMapping__Group__0 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:111:2: rule__SymbolMapping__Group__0
            {
            pushFollow(FOLLOW_rule__SymbolMapping__Group__0_in_ruleSymbolMapping171);
            rule__SymbolMapping__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSymbolMappingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSymbolMapping"


    // $ANTLR start "entryRuleMembers"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:123:1: entryRuleMembers : ruleMembers EOF ;
    public final void entryRuleMembers() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:124:1: ( ruleMembers EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:125:1: ruleMembers EOF
            {
             before(grammarAccess.getMembersRule()); 
            pushFollow(FOLLOW_ruleMembers_in_entryRuleMembers198);
            ruleMembers();

            state._fsp--;

             after(grammarAccess.getMembersRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMembers205); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMembers"


    // $ANTLR start "ruleMembers"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:132:1: ruleMembers : ( ( ( rule__Members__IdentsAssignment ) ) ( ( rule__Members__IdentsAssignment )* ) ) ;
    public final void ruleMembers() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:136:2: ( ( ( ( rule__Members__IdentsAssignment ) ) ( ( rule__Members__IdentsAssignment )* ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:137:1: ( ( ( rule__Members__IdentsAssignment ) ) ( ( rule__Members__IdentsAssignment )* ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:137:1: ( ( ( rule__Members__IdentsAssignment ) ) ( ( rule__Members__IdentsAssignment )* ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:138:1: ( ( rule__Members__IdentsAssignment ) ) ( ( rule__Members__IdentsAssignment )* )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:138:1: ( ( rule__Members__IdentsAssignment ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:139:1: ( rule__Members__IdentsAssignment )
            {
             before(grammarAccess.getMembersAccess().getIdentsAssignment()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:140:1: ( rule__Members__IdentsAssignment )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:140:2: rule__Members__IdentsAssignment
            {
            pushFollow(FOLLOW_rule__Members__IdentsAssignment_in_ruleMembers233);
            rule__Members__IdentsAssignment();

            state._fsp--;


            }

             after(grammarAccess.getMembersAccess().getIdentsAssignment()); 

            }

            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:143:1: ( ( rule__Members__IdentsAssignment )* )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:144:1: ( rule__Members__IdentsAssignment )*
            {
             before(grammarAccess.getMembersAccess().getIdentsAssignment()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:145:1: ( rule__Members__IdentsAssignment )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==RULE_ID) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:145:2: rule__Members__IdentsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Members__IdentsAssignment_in_ruleMembers245);
            	    rule__Members__IdentsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);

             after(grammarAccess.getMembersAccess().getIdentsAssignment()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMembers"


    // $ANTLR start "entryRuleRuleMapping"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:158:1: entryRuleRuleMapping : ruleRuleMapping EOF ;
    public final void entryRuleRuleMapping() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:159:1: ( ruleRuleMapping EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:160:1: ruleRuleMapping EOF
            {
             before(grammarAccess.getRuleMappingRule()); 
            pushFollow(FOLLOW_ruleRuleMapping_in_entryRuleRuleMapping275);
            ruleRuleMapping();

            state._fsp--;

             after(grammarAccess.getRuleMappingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleMapping282); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRuleMapping"


    // $ANTLR start "ruleRuleMapping"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:167:1: ruleRuleMapping : ( ( rule__RuleMapping__Group__0 ) ) ;
    public final void ruleRuleMapping() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:171:2: ( ( ( rule__RuleMapping__Group__0 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:172:1: ( ( rule__RuleMapping__Group__0 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:172:1: ( ( rule__RuleMapping__Group__0 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:173:1: ( rule__RuleMapping__Group__0 )
            {
             before(grammarAccess.getRuleMappingAccess().getGroup()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:174:1: ( rule__RuleMapping__Group__0 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:174:2: rule__RuleMapping__Group__0
            {
            pushFollow(FOLLOW_rule__RuleMapping__Group__0_in_ruleRuleMapping308);
            rule__RuleMapping__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleMappingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRuleMapping"


    // $ANTLR start "entryRuleRule"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:186:1: entryRuleRule : ruleRule EOF ;
    public final void entryRuleRule() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:187:1: ( ruleRule EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:188:1: ruleRule EOF
            {
             before(grammarAccess.getRuleRule()); 
            pushFollow(FOLLOW_ruleRule_in_entryRuleRule335);
            ruleRule();

            state._fsp--;

             after(grammarAccess.getRuleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRule342); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRule"


    // $ANTLR start "ruleRule"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:195:1: ruleRule : ( ( rule__Rule__Group__0 ) ) ;
    public final void ruleRule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:199:2: ( ( ( rule__Rule__Group__0 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:200:1: ( ( rule__Rule__Group__0 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:200:1: ( ( rule__Rule__Group__0 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:201:1: ( rule__Rule__Group__0 )
            {
             before(grammarAccess.getRuleAccess().getGroup()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:202:1: ( rule__Rule__Group__0 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:202:2: rule__Rule__Group__0
            {
            pushFollow(FOLLOW_rule__Rule__Group__0_in_ruleRule368);
            rule__Rule__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRule"


    // $ANTLR start "entryRuleDelimiter"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:214:1: entryRuleDelimiter : ruleDelimiter EOF ;
    public final void entryRuleDelimiter() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:215:1: ( ruleDelimiter EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:216:1: ruleDelimiter EOF
            {
             before(grammarAccess.getDelimiterRule()); 
            pushFollow(FOLLOW_ruleDelimiter_in_entryRuleDelimiter395);
            ruleDelimiter();

            state._fsp--;

             after(grammarAccess.getDelimiterRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDelimiter402); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDelimiter"


    // $ANTLR start "ruleDelimiter"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:223:1: ruleDelimiter : ( ( rule__Delimiter__Alternatives ) ) ;
    public final void ruleDelimiter() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:227:2: ( ( ( rule__Delimiter__Alternatives ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:228:1: ( ( rule__Delimiter__Alternatives ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:228:1: ( ( rule__Delimiter__Alternatives ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:229:1: ( rule__Delimiter__Alternatives )
            {
             before(grammarAccess.getDelimiterAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:230:1: ( rule__Delimiter__Alternatives )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:230:2: rule__Delimiter__Alternatives
            {
            pushFollow(FOLLOW_rule__Delimiter__Alternatives_in_ruleDelimiter428);
            rule__Delimiter__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDelimiterAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDelimiter"


    // $ANTLR start "entryRuleRHS"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:242:1: entryRuleRHS : ruleRHS EOF ;
    public final void entryRuleRHS() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:243:1: ( ruleRHS EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:244:1: ruleRHS EOF
            {
             before(grammarAccess.getRHSRule()); 
            pushFollow(FOLLOW_ruleRHS_in_entryRuleRHS455);
            ruleRHS();

            state._fsp--;

             after(grammarAccess.getRHSRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRHS462); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRHS"


    // $ANTLR start "ruleRHS"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:251:1: ruleRHS : ( ( rule__RHS__ElemntsAssignment )* ) ;
    public final void ruleRHS() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:255:2: ( ( ( rule__RHS__ElemntsAssignment )* ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:256:1: ( ( rule__RHS__ElemntsAssignment )* )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:256:1: ( ( rule__RHS__ElemntsAssignment )* )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:257:1: ( rule__RHS__ElemntsAssignment )*
            {
             before(grammarAccess.getRHSAccess().getElemntsAssignment()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:258:1: ( rule__RHS__ElemntsAssignment )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==RULE_STRING||LA3_0==RULE_ID) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:258:2: rule__RHS__ElemntsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__RHS__ElemntsAssignment_in_ruleRHS488);
            	    rule__RHS__ElemntsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getRHSAccess().getElemntsAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRHS"


    // $ANTLR start "entryRuleElement"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:270:1: entryRuleElement : ruleElement EOF ;
    public final void entryRuleElement() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:271:1: ( ruleElement EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:272:1: ruleElement EOF
            {
             before(grammarAccess.getElementRule()); 
            pushFollow(FOLLOW_ruleElement_in_entryRuleElement516);
            ruleElement();

            state._fsp--;

             after(grammarAccess.getElementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleElement523); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleElement"


    // $ANTLR start "ruleElement"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:279:1: ruleElement : ( ( rule__Element__Alternatives ) ) ;
    public final void ruleElement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:283:2: ( ( ( rule__Element__Alternatives ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:284:1: ( ( rule__Element__Alternatives ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:284:1: ( ( rule__Element__Alternatives ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:285:1: ( rule__Element__Alternatives )
            {
             before(grammarAccess.getElementAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:286:1: ( rule__Element__Alternatives )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:286:2: rule__Element__Alternatives
            {
            pushFollow(FOLLOW_rule__Element__Alternatives_in_ruleElement549);
            rule__Element__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getElementAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleElement"


    // $ANTLR start "entryRuleRewrite"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:298:1: entryRuleRewrite : ruleRewrite EOF ;
    public final void entryRuleRewrite() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:299:1: ( ruleRewrite EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:300:1: ruleRewrite EOF
            {
             before(grammarAccess.getRewriteRule()); 
            pushFollow(FOLLOW_ruleRewrite_in_entryRuleRewrite576);
            ruleRewrite();

            state._fsp--;

             after(grammarAccess.getRewriteRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRewrite583); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRewrite"


    // $ANTLR start "ruleRewrite"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:307:1: ruleRewrite : ( ( rule__Rewrite__Group__0 ) ) ;
    public final void ruleRewrite() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:311:2: ( ( ( rule__Rewrite__Group__0 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:312:1: ( ( rule__Rewrite__Group__0 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:312:1: ( ( rule__Rewrite__Group__0 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:313:1: ( rule__Rewrite__Group__0 )
            {
             before(grammarAccess.getRewriteAccess().getGroup()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:314:1: ( rule__Rewrite__Group__0 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:314:2: rule__Rewrite__Group__0
            {
            pushFollow(FOLLOW_rule__Rewrite__Group__0_in_ruleRewrite609);
            rule__Rewrite__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRewriteAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRewrite"


    // $ANTLR start "entryRuleRewriteRHS"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:326:1: entryRuleRewriteRHS : ruleRewriteRHS EOF ;
    public final void entryRuleRewriteRHS() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:327:1: ( ruleRewriteRHS EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:328:1: ruleRewriteRHS EOF
            {
             before(grammarAccess.getRewriteRHSRule()); 
            pushFollow(FOLLOW_ruleRewriteRHS_in_entryRuleRewriteRHS636);
            ruleRewriteRHS();

            state._fsp--;

             after(grammarAccess.getRewriteRHSRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRewriteRHS643); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRewriteRHS"


    // $ANTLR start "ruleRewriteRHS"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:335:1: ruleRewriteRHS : ( ( ( rule__RewriteRHS__Alternatives ) ) ( ( rule__RewriteRHS__Alternatives )* ) ) ;
    public final void ruleRewriteRHS() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:339:2: ( ( ( ( rule__RewriteRHS__Alternatives ) ) ( ( rule__RewriteRHS__Alternatives )* ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:340:1: ( ( ( rule__RewriteRHS__Alternatives ) ) ( ( rule__RewriteRHS__Alternatives )* ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:340:1: ( ( ( rule__RewriteRHS__Alternatives ) ) ( ( rule__RewriteRHS__Alternatives )* ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:341:1: ( ( rule__RewriteRHS__Alternatives ) ) ( ( rule__RewriteRHS__Alternatives )* )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:341:1: ( ( rule__RewriteRHS__Alternatives ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:342:1: ( rule__RewriteRHS__Alternatives )
            {
             before(grammarAccess.getRewriteRHSAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:343:1: ( rule__RewriteRHS__Alternatives )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:343:2: rule__RewriteRHS__Alternatives
            {
            pushFollow(FOLLOW_rule__RewriteRHS__Alternatives_in_ruleRewriteRHS671);
            rule__RewriteRHS__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getRewriteRHSAccess().getAlternatives()); 

            }

            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:346:1: ( ( rule__RewriteRHS__Alternatives )* )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:347:1: ( rule__RewriteRHS__Alternatives )*
            {
             before(grammarAccess.getRewriteRHSAccess().getAlternatives()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:348:1: ( rule__RewriteRHS__Alternatives )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==RULE_STRING||LA4_0==19) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:348:2: rule__RewriteRHS__Alternatives
            	    {
            	    pushFollow(FOLLOW_rule__RewriteRHS__Alternatives_in_ruleRewriteRHS683);
            	    rule__RewriteRHS__Alternatives();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);

             after(grammarAccess.getRewriteRHSAccess().getAlternatives()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRewriteRHS"


    // $ANTLR start "entryRulePosition"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:361:1: entryRulePosition : rulePosition EOF ;
    public final void entryRulePosition() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:362:1: ( rulePosition EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:363:1: rulePosition EOF
            {
             before(grammarAccess.getPositionRule()); 
            pushFollow(FOLLOW_rulePosition_in_entryRulePosition713);
            rulePosition();

            state._fsp--;

             after(grammarAccess.getPositionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePosition720); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePosition"


    // $ANTLR start "rulePosition"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:370:1: rulePosition : ( ( rule__Position__Group__0 ) ) ;
    public final void rulePosition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:374:2: ( ( ( rule__Position__Group__0 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:375:1: ( ( rule__Position__Group__0 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:375:1: ( ( rule__Position__Group__0 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:376:1: ( rule__Position__Group__0 )
            {
             before(grammarAccess.getPositionAccess().getGroup()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:377:1: ( rule__Position__Group__0 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:377:2: rule__Position__Group__0
            {
            pushFollow(FOLLOW_rule__Position__Group__0_in_rulePosition746);
            rule__Position__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPositionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePosition"


    // $ANTLR start "entryRuleRuleName"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:389:1: entryRuleRuleName : ruleRuleName EOF ;
    public final void entryRuleRuleName() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:390:1: ( ruleRuleName EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:391:1: ruleRuleName EOF
            {
             before(grammarAccess.getRuleNameRule()); 
            pushFollow(FOLLOW_ruleRuleName_in_entryRuleRuleName773);
            ruleRuleName();

            state._fsp--;

             after(grammarAccess.getRuleNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleName780); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRuleName"


    // $ANTLR start "ruleRuleName"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:398:1: ruleRuleName : ( ( rule__RuleName__Group__0 ) ) ;
    public final void ruleRuleName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:402:2: ( ( ( rule__RuleName__Group__0 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:403:1: ( ( rule__RuleName__Group__0 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:403:1: ( ( rule__RuleName__Group__0 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:404:1: ( rule__RuleName__Group__0 )
            {
             before(grammarAccess.getRuleNameAccess().getGroup()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:405:1: ( rule__RuleName__Group__0 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:405:2: rule__RuleName__Group__0
            {
            pushFollow(FOLLOW_rule__RuleName__Group__0_in_ruleRuleName806);
            rule__RuleName__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRuleName"


    // $ANTLR start "entryRuleIdent"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:417:1: entryRuleIdent : ruleIdent EOF ;
    public final void entryRuleIdent() throws RecognitionException {
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:418:1: ( ruleIdent EOF )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:419:1: ruleIdent EOF
            {
             before(grammarAccess.getIdentRule()); 
            pushFollow(FOLLOW_ruleIdent_in_entryRuleIdent833);
            ruleIdent();

            state._fsp--;

             after(grammarAccess.getIdentRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIdent840); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIdent"


    // $ANTLR start "ruleIdent"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:426:1: ruleIdent : ( ( rule__Ident__RefAssignment ) ) ;
    public final void ruleIdent() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:430:2: ( ( ( rule__Ident__RefAssignment ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:431:1: ( ( rule__Ident__RefAssignment ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:431:1: ( ( rule__Ident__RefAssignment ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:432:1: ( rule__Ident__RefAssignment )
            {
             before(grammarAccess.getIdentAccess().getRefAssignment()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:433:1: ( rule__Ident__RefAssignment )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:433:2: rule__Ident__RefAssignment
            {
            pushFollow(FOLLOW_rule__Ident__RefAssignment_in_ruleIdent866);
            rule__Ident__RefAssignment();

            state._fsp--;


            }

             after(grammarAccess.getIdentAccess().getRefAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIdent"


    // $ANTLR start "rule__TypeMapFile__Alternatives"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:445:1: rule__TypeMapFile__Alternatives : ( ( ( rule__TypeMapFile__Group_0__0 ) ) | ( ( rule__TypeMapFile__Group_1__0 ) ) | ( 'MAPCHAINS' ) );
    public final void rule__TypeMapFile__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:449:1: ( ( ( rule__TypeMapFile__Group_0__0 ) ) | ( ( rule__TypeMapFile__Group_1__0 ) ) | ( 'MAPCHAINS' ) )
            int alt5=3;
            switch ( input.LA(1) ) {
            case 14:
                {
                alt5=1;
                }
                break;
            case 15:
                {
                alt5=2;
                }
                break;
            case 11:
                {
                alt5=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:450:1: ( ( rule__TypeMapFile__Group_0__0 ) )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:450:1: ( ( rule__TypeMapFile__Group_0__0 ) )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:451:1: ( rule__TypeMapFile__Group_0__0 )
                    {
                     before(grammarAccess.getTypeMapFileAccess().getGroup_0()); 
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:452:1: ( rule__TypeMapFile__Group_0__0 )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:452:2: rule__TypeMapFile__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__TypeMapFile__Group_0__0_in_rule__TypeMapFile__Alternatives902);
                    rule__TypeMapFile__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getTypeMapFileAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:456:6: ( ( rule__TypeMapFile__Group_1__0 ) )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:456:6: ( ( rule__TypeMapFile__Group_1__0 ) )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:457:1: ( rule__TypeMapFile__Group_1__0 )
                    {
                     before(grammarAccess.getTypeMapFileAccess().getGroup_1()); 
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:458:1: ( rule__TypeMapFile__Group_1__0 )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:458:2: rule__TypeMapFile__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__TypeMapFile__Group_1__0_in_rule__TypeMapFile__Alternatives920);
                    rule__TypeMapFile__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getTypeMapFileAccess().getGroup_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:462:6: ( 'MAPCHAINS' )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:462:6: ( 'MAPCHAINS' )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:463:1: 'MAPCHAINS'
                    {
                     before(grammarAccess.getTypeMapFileAccess().getMAPCHAINSKeyword_2()); 
                    match(input,11,FOLLOW_11_in_rule__TypeMapFile__Alternatives939); 
                     after(grammarAccess.getTypeMapFileAccess().getMAPCHAINSKeyword_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Alternatives"


    // $ANTLR start "rule__Delimiter__Alternatives"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:475:1: rule__Delimiter__Alternatives : ( ( ':' ) | ( '::=' ) );
    public final void rule__Delimiter__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:479:1: ( ( ':' ) | ( '::=' ) )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==12) ) {
                alt6=1;
            }
            else if ( (LA6_0==13) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:480:1: ( ':' )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:480:1: ( ':' )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:481:1: ':'
                    {
                     before(grammarAccess.getDelimiterAccess().getColonKeyword_0()); 
                    match(input,12,FOLLOW_12_in_rule__Delimiter__Alternatives974); 
                     after(grammarAccess.getDelimiterAccess().getColonKeyword_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:488:6: ( '::=' )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:488:6: ( '::=' )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:489:1: '::='
                    {
                     before(grammarAccess.getDelimiterAccess().getColonColonEqualsSignKeyword_1()); 
                    match(input,13,FOLLOW_13_in_rule__Delimiter__Alternatives994); 
                     after(grammarAccess.getDelimiterAccess().getColonColonEqualsSignKeyword_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Delimiter__Alternatives"


    // $ANTLR start "rule__Element__Alternatives"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:501:1: rule__Element__Alternatives : ( ( ruleIdent ) | ( RULE_STRING ) );
    public final void rule__Element__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:505:1: ( ( ruleIdent ) | ( RULE_STRING ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==RULE_ID) ) {
                alt7=1;
            }
            else if ( (LA7_0==RULE_STRING) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:506:1: ( ruleIdent )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:506:1: ( ruleIdent )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:507:1: ruleIdent
                    {
                     before(grammarAccess.getElementAccess().getIdentParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleIdent_in_rule__Element__Alternatives1028);
                    ruleIdent();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getIdentParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:512:6: ( RULE_STRING )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:512:6: ( RULE_STRING )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:513:1: RULE_STRING
                    {
                     before(grammarAccess.getElementAccess().getSTRINGTerminalRuleCall_1()); 
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Element__Alternatives1045); 
                     after(grammarAccess.getElementAccess().getSTRINGTerminalRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Element__Alternatives"


    // $ANTLR start "rule__RewriteRHS__Alternatives"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:523:1: rule__RewriteRHS__Alternatives : ( ( rulePosition ) | ( RULE_STRING ) );
    public final void rule__RewriteRHS__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:527:1: ( ( rulePosition ) | ( RULE_STRING ) )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==19) ) {
                alt8=1;
            }
            else if ( (LA8_0==RULE_STRING) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:528:1: ( rulePosition )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:528:1: ( rulePosition )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:529:1: rulePosition
                    {
                     before(grammarAccess.getRewriteRHSAccess().getPositionParserRuleCall_0()); 
                    pushFollow(FOLLOW_rulePosition_in_rule__RewriteRHS__Alternatives1077);
                    rulePosition();

                    state._fsp--;

                     after(grammarAccess.getRewriteRHSAccess().getPositionParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:534:6: ( RULE_STRING )
                    {
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:534:6: ( RULE_STRING )
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:535:1: RULE_STRING
                    {
                     before(grammarAccess.getRewriteRHSAccess().getSTRINGTerminalRuleCall_1()); 
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RewriteRHS__Alternatives1094); 
                     after(grammarAccess.getRewriteRHSAccess().getSTRINGTerminalRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RewriteRHS__Alternatives"


    // $ANTLR start "rule__TypeMapFile__Group_0__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:547:1: rule__TypeMapFile__Group_0__0 : rule__TypeMapFile__Group_0__0__Impl rule__TypeMapFile__Group_0__1 ;
    public final void rule__TypeMapFile__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:551:1: ( rule__TypeMapFile__Group_0__0__Impl rule__TypeMapFile__Group_0__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:552:2: rule__TypeMapFile__Group_0__0__Impl rule__TypeMapFile__Group_0__1
            {
            pushFollow(FOLLOW_rule__TypeMapFile__Group_0__0__Impl_in_rule__TypeMapFile__Group_0__01124);
            rule__TypeMapFile__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TypeMapFile__Group_0__1_in_rule__TypeMapFile__Group_0__01127);
            rule__TypeMapFile__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_0__0"


    // $ANTLR start "rule__TypeMapFile__Group_0__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:559:1: rule__TypeMapFile__Group_0__0__Impl : ( 'MAPSYM' ) ;
    public final void rule__TypeMapFile__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:563:1: ( ( 'MAPSYM' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:564:1: ( 'MAPSYM' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:564:1: ( 'MAPSYM' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:565:1: 'MAPSYM'
            {
             before(grammarAccess.getTypeMapFileAccess().getMAPSYMKeyword_0_0()); 
            match(input,14,FOLLOW_14_in_rule__TypeMapFile__Group_0__0__Impl1155); 
             after(grammarAccess.getTypeMapFileAccess().getMAPSYMKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_0__0__Impl"


    // $ANTLR start "rule__TypeMapFile__Group_0__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:578:1: rule__TypeMapFile__Group_0__1 : rule__TypeMapFile__Group_0__1__Impl ;
    public final void rule__TypeMapFile__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:582:1: ( rule__TypeMapFile__Group_0__1__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:583:2: rule__TypeMapFile__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__TypeMapFile__Group_0__1__Impl_in_rule__TypeMapFile__Group_0__11186);
            rule__TypeMapFile__Group_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_0__1"


    // $ANTLR start "rule__TypeMapFile__Group_0__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:589:1: rule__TypeMapFile__Group_0__1__Impl : ( ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 ) ) ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )* ) ) ;
    public final void rule__TypeMapFile__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:593:1: ( ( ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 ) ) ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )* ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:594:1: ( ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 ) ) ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )* ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:594:1: ( ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 ) ) ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )* ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:595:1: ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 ) ) ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )* )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:595:1: ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:596:1: ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )
            {
             before(grammarAccess.getTypeMapFileAccess().getSymbolMappingsAssignment_0_1()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:597:1: ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:597:2: rule__TypeMapFile__SymbolMappingsAssignment_0_1
            {
            pushFollow(FOLLOW_rule__TypeMapFile__SymbolMappingsAssignment_0_1_in_rule__TypeMapFile__Group_0__1__Impl1215);
            rule__TypeMapFile__SymbolMappingsAssignment_0_1();

            state._fsp--;


            }

             after(grammarAccess.getTypeMapFileAccess().getSymbolMappingsAssignment_0_1()); 

            }

            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:600:1: ( ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )* )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:601:1: ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )*
            {
             before(grammarAccess.getTypeMapFileAccess().getSymbolMappingsAssignment_0_1()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:602:1: ( rule__TypeMapFile__SymbolMappingsAssignment_0_1 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==RULE_ID) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:602:2: rule__TypeMapFile__SymbolMappingsAssignment_0_1
            	    {
            	    pushFollow(FOLLOW_rule__TypeMapFile__SymbolMappingsAssignment_0_1_in_rule__TypeMapFile__Group_0__1__Impl1227);
            	    rule__TypeMapFile__SymbolMappingsAssignment_0_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getTypeMapFileAccess().getSymbolMappingsAssignment_0_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_0__1__Impl"


    // $ANTLR start "rule__TypeMapFile__Group_1__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:617:1: rule__TypeMapFile__Group_1__0 : rule__TypeMapFile__Group_1__0__Impl rule__TypeMapFile__Group_1__1 ;
    public final void rule__TypeMapFile__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:621:1: ( rule__TypeMapFile__Group_1__0__Impl rule__TypeMapFile__Group_1__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:622:2: rule__TypeMapFile__Group_1__0__Impl rule__TypeMapFile__Group_1__1
            {
            pushFollow(FOLLOW_rule__TypeMapFile__Group_1__0__Impl_in_rule__TypeMapFile__Group_1__01264);
            rule__TypeMapFile__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TypeMapFile__Group_1__1_in_rule__TypeMapFile__Group_1__01267);
            rule__TypeMapFile__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_1__0"


    // $ANTLR start "rule__TypeMapFile__Group_1__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:629:1: rule__TypeMapFile__Group_1__0__Impl : ( 'MAPRULE' ) ;
    public final void rule__TypeMapFile__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:633:1: ( ( 'MAPRULE' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:634:1: ( 'MAPRULE' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:634:1: ( 'MAPRULE' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:635:1: 'MAPRULE'
            {
             before(grammarAccess.getTypeMapFileAccess().getMAPRULEKeyword_1_0()); 
            match(input,15,FOLLOW_15_in_rule__TypeMapFile__Group_1__0__Impl1295); 
             after(grammarAccess.getTypeMapFileAccess().getMAPRULEKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_1__0__Impl"


    // $ANTLR start "rule__TypeMapFile__Group_1__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:648:1: rule__TypeMapFile__Group_1__1 : rule__TypeMapFile__Group_1__1__Impl ;
    public final void rule__TypeMapFile__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:652:1: ( rule__TypeMapFile__Group_1__1__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:653:2: rule__TypeMapFile__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__TypeMapFile__Group_1__1__Impl_in_rule__TypeMapFile__Group_1__11326);
            rule__TypeMapFile__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_1__1"


    // $ANTLR start "rule__TypeMapFile__Group_1__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:659:1: rule__TypeMapFile__Group_1__1__Impl : ( ( ( rule__TypeMapFile__RulemappingAssignment_1_1 ) ) ( ( rule__TypeMapFile__RulemappingAssignment_1_1 )* ) ) ;
    public final void rule__TypeMapFile__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:663:1: ( ( ( ( rule__TypeMapFile__RulemappingAssignment_1_1 ) ) ( ( rule__TypeMapFile__RulemappingAssignment_1_1 )* ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:664:1: ( ( ( rule__TypeMapFile__RulemappingAssignment_1_1 ) ) ( ( rule__TypeMapFile__RulemappingAssignment_1_1 )* ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:664:1: ( ( ( rule__TypeMapFile__RulemappingAssignment_1_1 ) ) ( ( rule__TypeMapFile__RulemappingAssignment_1_1 )* ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:665:1: ( ( rule__TypeMapFile__RulemappingAssignment_1_1 ) ) ( ( rule__TypeMapFile__RulemappingAssignment_1_1 )* )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:665:1: ( ( rule__TypeMapFile__RulemappingAssignment_1_1 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:666:1: ( rule__TypeMapFile__RulemappingAssignment_1_1 )
            {
             before(grammarAccess.getTypeMapFileAccess().getRulemappingAssignment_1_1()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:667:1: ( rule__TypeMapFile__RulemappingAssignment_1_1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:667:2: rule__TypeMapFile__RulemappingAssignment_1_1
            {
            pushFollow(FOLLOW_rule__TypeMapFile__RulemappingAssignment_1_1_in_rule__TypeMapFile__Group_1__1__Impl1355);
            rule__TypeMapFile__RulemappingAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getTypeMapFileAccess().getRulemappingAssignment_1_1()); 

            }

            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:670:1: ( ( rule__TypeMapFile__RulemappingAssignment_1_1 )* )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:671:1: ( rule__TypeMapFile__RulemappingAssignment_1_1 )*
            {
             before(grammarAccess.getTypeMapFileAccess().getRulemappingAssignment_1_1()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:672:1: ( rule__TypeMapFile__RulemappingAssignment_1_1 )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0==RULE_ID) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:672:2: rule__TypeMapFile__RulemappingAssignment_1_1
            	    {
            	    pushFollow(FOLLOW_rule__TypeMapFile__RulemappingAssignment_1_1_in_rule__TypeMapFile__Group_1__1__Impl1367);
            	    rule__TypeMapFile__RulemappingAssignment_1_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

             after(grammarAccess.getTypeMapFileAccess().getRulemappingAssignment_1_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__Group_1__1__Impl"


    // $ANTLR start "rule__SymbolMapping__Group__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:687:1: rule__SymbolMapping__Group__0 : rule__SymbolMapping__Group__0__Impl rule__SymbolMapping__Group__1 ;
    public final void rule__SymbolMapping__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:691:1: ( rule__SymbolMapping__Group__0__Impl rule__SymbolMapping__Group__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:692:2: rule__SymbolMapping__Group__0__Impl rule__SymbolMapping__Group__1
            {
            pushFollow(FOLLOW_rule__SymbolMapping__Group__0__Impl_in_rule__SymbolMapping__Group__01404);
            rule__SymbolMapping__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SymbolMapping__Group__1_in_rule__SymbolMapping__Group__01407);
            rule__SymbolMapping__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__0"


    // $ANTLR start "rule__SymbolMapping__Group__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:699:1: rule__SymbolMapping__Group__0__Impl : ( ruleIdent ) ;
    public final void rule__SymbolMapping__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:703:1: ( ( ruleIdent ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:704:1: ( ruleIdent )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:704:1: ( ruleIdent )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:705:1: ruleIdent
            {
             before(grammarAccess.getSymbolMappingAccess().getIdentParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleIdent_in_rule__SymbolMapping__Group__0__Impl1434);
            ruleIdent();

            state._fsp--;

             after(grammarAccess.getSymbolMappingAccess().getIdentParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__0__Impl"


    // $ANTLR start "rule__SymbolMapping__Group__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:716:1: rule__SymbolMapping__Group__1 : rule__SymbolMapping__Group__1__Impl rule__SymbolMapping__Group__2 ;
    public final void rule__SymbolMapping__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:720:1: ( rule__SymbolMapping__Group__1__Impl rule__SymbolMapping__Group__2 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:721:2: rule__SymbolMapping__Group__1__Impl rule__SymbolMapping__Group__2
            {
            pushFollow(FOLLOW_rule__SymbolMapping__Group__1__Impl_in_rule__SymbolMapping__Group__11463);
            rule__SymbolMapping__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SymbolMapping__Group__2_in_rule__SymbolMapping__Group__11466);
            rule__SymbolMapping__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__1"


    // $ANTLR start "rule__SymbolMapping__Group__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:728:1: rule__SymbolMapping__Group__1__Impl : ( '::=' ) ;
    public final void rule__SymbolMapping__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:732:1: ( ( '::=' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:733:1: ( '::=' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:733:1: ( '::=' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:734:1: '::='
            {
             before(grammarAccess.getSymbolMappingAccess().getColonColonEqualsSignKeyword_1()); 
            match(input,13,FOLLOW_13_in_rule__SymbolMapping__Group__1__Impl1494); 
             after(grammarAccess.getSymbolMappingAccess().getColonColonEqualsSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__1__Impl"


    // $ANTLR start "rule__SymbolMapping__Group__2"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:747:1: rule__SymbolMapping__Group__2 : rule__SymbolMapping__Group__2__Impl rule__SymbolMapping__Group__3 ;
    public final void rule__SymbolMapping__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:751:1: ( rule__SymbolMapping__Group__2__Impl rule__SymbolMapping__Group__3 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:752:2: rule__SymbolMapping__Group__2__Impl rule__SymbolMapping__Group__3
            {
            pushFollow(FOLLOW_rule__SymbolMapping__Group__2__Impl_in_rule__SymbolMapping__Group__21525);
            rule__SymbolMapping__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__SymbolMapping__Group__3_in_rule__SymbolMapping__Group__21528);
            rule__SymbolMapping__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__2"


    // $ANTLR start "rule__SymbolMapping__Group__2__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:759:1: rule__SymbolMapping__Group__2__Impl : ( ( rule__SymbolMapping__MembersAssignment_2 ) ) ;
    public final void rule__SymbolMapping__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:763:1: ( ( ( rule__SymbolMapping__MembersAssignment_2 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:764:1: ( ( rule__SymbolMapping__MembersAssignment_2 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:764:1: ( ( rule__SymbolMapping__MembersAssignment_2 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:765:1: ( rule__SymbolMapping__MembersAssignment_2 )
            {
             before(grammarAccess.getSymbolMappingAccess().getMembersAssignment_2()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:766:1: ( rule__SymbolMapping__MembersAssignment_2 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:766:2: rule__SymbolMapping__MembersAssignment_2
            {
            pushFollow(FOLLOW_rule__SymbolMapping__MembersAssignment_2_in_rule__SymbolMapping__Group__2__Impl1555);
            rule__SymbolMapping__MembersAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getSymbolMappingAccess().getMembersAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__2__Impl"


    // $ANTLR start "rule__SymbolMapping__Group__3"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:776:1: rule__SymbolMapping__Group__3 : rule__SymbolMapping__Group__3__Impl ;
    public final void rule__SymbolMapping__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:780:1: ( rule__SymbolMapping__Group__3__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:781:2: rule__SymbolMapping__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__SymbolMapping__Group__3__Impl_in_rule__SymbolMapping__Group__31585);
            rule__SymbolMapping__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__3"


    // $ANTLR start "rule__SymbolMapping__Group__3__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:787:1: rule__SymbolMapping__Group__3__Impl : ( '.' ) ;
    public final void rule__SymbolMapping__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:791:1: ( ( '.' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:792:1: ( '.' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:792:1: ( '.' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:793:1: '.'
            {
             before(grammarAccess.getSymbolMappingAccess().getFullStopKeyword_3()); 
            match(input,16,FOLLOW_16_in_rule__SymbolMapping__Group__3__Impl1613); 
             after(grammarAccess.getSymbolMappingAccess().getFullStopKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__Group__3__Impl"


    // $ANTLR start "rule__RuleMapping__Group__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:814:1: rule__RuleMapping__Group__0 : rule__RuleMapping__Group__0__Impl rule__RuleMapping__Group__1 ;
    public final void rule__RuleMapping__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:818:1: ( rule__RuleMapping__Group__0__Impl rule__RuleMapping__Group__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:819:2: rule__RuleMapping__Group__0__Impl rule__RuleMapping__Group__1
            {
            pushFollow(FOLLOW_rule__RuleMapping__Group__0__Impl_in_rule__RuleMapping__Group__01652);
            rule__RuleMapping__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleMapping__Group__1_in_rule__RuleMapping__Group__01655);
            rule__RuleMapping__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__0"


    // $ANTLR start "rule__RuleMapping__Group__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:826:1: rule__RuleMapping__Group__0__Impl : ( ruleRule ) ;
    public final void rule__RuleMapping__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:830:1: ( ( ruleRule ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:831:1: ( ruleRule )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:831:1: ( ruleRule )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:832:1: ruleRule
            {
             before(grammarAccess.getRuleMappingAccess().getRuleParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleRule_in_rule__RuleMapping__Group__0__Impl1682);
            ruleRule();

            state._fsp--;

             after(grammarAccess.getRuleMappingAccess().getRuleParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__0__Impl"


    // $ANTLR start "rule__RuleMapping__Group__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:843:1: rule__RuleMapping__Group__1 : rule__RuleMapping__Group__1__Impl rule__RuleMapping__Group__2 ;
    public final void rule__RuleMapping__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:847:1: ( rule__RuleMapping__Group__1__Impl rule__RuleMapping__Group__2 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:848:2: rule__RuleMapping__Group__1__Impl rule__RuleMapping__Group__2
            {
            pushFollow(FOLLOW_rule__RuleMapping__Group__1__Impl_in_rule__RuleMapping__Group__11711);
            rule__RuleMapping__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleMapping__Group__2_in_rule__RuleMapping__Group__11714);
            rule__RuleMapping__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__1"


    // $ANTLR start "rule__RuleMapping__Group__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:855:1: rule__RuleMapping__Group__1__Impl : ( ruleRewrite ) ;
    public final void rule__RuleMapping__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:859:1: ( ( ruleRewrite ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:860:1: ( ruleRewrite )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:860:1: ( ruleRewrite )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:861:1: ruleRewrite
            {
             before(grammarAccess.getRuleMappingAccess().getRewriteParserRuleCall_1()); 
            pushFollow(FOLLOW_ruleRewrite_in_rule__RuleMapping__Group__1__Impl1741);
            ruleRewrite();

            state._fsp--;

             after(grammarAccess.getRuleMappingAccess().getRewriteParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__1__Impl"


    // $ANTLR start "rule__RuleMapping__Group__2"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:872:1: rule__RuleMapping__Group__2 : rule__RuleMapping__Group__2__Impl rule__RuleMapping__Group__3 ;
    public final void rule__RuleMapping__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:876:1: ( rule__RuleMapping__Group__2__Impl rule__RuleMapping__Group__3 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:877:2: rule__RuleMapping__Group__2__Impl rule__RuleMapping__Group__3
            {
            pushFollow(FOLLOW_rule__RuleMapping__Group__2__Impl_in_rule__RuleMapping__Group__21770);
            rule__RuleMapping__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleMapping__Group__3_in_rule__RuleMapping__Group__21773);
            rule__RuleMapping__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__2"


    // $ANTLR start "rule__RuleMapping__Group__2__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:884:1: rule__RuleMapping__Group__2__Impl : ( ( ruleRuleName )? ) ;
    public final void rule__RuleMapping__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:888:1: ( ( ( ruleRuleName )? ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:889:1: ( ( ruleRuleName )? )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:889:1: ( ( ruleRuleName )? )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:890:1: ( ruleRuleName )?
            {
             before(grammarAccess.getRuleMappingAccess().getRuleNameParserRuleCall_2()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:891:1: ( ruleRuleName )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==12) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:891:3: ruleRuleName
                    {
                    pushFollow(FOLLOW_ruleRuleName_in_rule__RuleMapping__Group__2__Impl1801);
                    ruleRuleName();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRuleMappingAccess().getRuleNameParserRuleCall_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__2__Impl"


    // $ANTLR start "rule__RuleMapping__Group__3"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:901:1: rule__RuleMapping__Group__3 : rule__RuleMapping__Group__3__Impl ;
    public final void rule__RuleMapping__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:905:1: ( rule__RuleMapping__Group__3__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:906:2: rule__RuleMapping__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__RuleMapping__Group__3__Impl_in_rule__RuleMapping__Group__31832);
            rule__RuleMapping__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__3"


    // $ANTLR start "rule__RuleMapping__Group__3__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:912:1: rule__RuleMapping__Group__3__Impl : ( '.' ) ;
    public final void rule__RuleMapping__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:916:1: ( ( '.' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:917:1: ( '.' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:917:1: ( '.' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:918:1: '.'
            {
             before(grammarAccess.getRuleMappingAccess().getFullStopKeyword_3()); 
            match(input,16,FOLLOW_16_in_rule__RuleMapping__Group__3__Impl1860); 
             after(grammarAccess.getRuleMappingAccess().getFullStopKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleMapping__Group__3__Impl"


    // $ANTLR start "rule__Rule__Group__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:939:1: rule__Rule__Group__0 : rule__Rule__Group__0__Impl rule__Rule__Group__1 ;
    public final void rule__Rule__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:943:1: ( rule__Rule__Group__0__Impl rule__Rule__Group__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:944:2: rule__Rule__Group__0__Impl rule__Rule__Group__1
            {
            pushFollow(FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__01899);
            rule__Rule__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__01902);
            rule__Rule__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__0"


    // $ANTLR start "rule__Rule__Group__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:951:1: rule__Rule__Group__0__Impl : ( ruleIdent ) ;
    public final void rule__Rule__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:955:1: ( ( ruleIdent ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:956:1: ( ruleIdent )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:956:1: ( ruleIdent )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:957:1: ruleIdent
            {
             before(grammarAccess.getRuleAccess().getIdentParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleIdent_in_rule__Rule__Group__0__Impl1929);
            ruleIdent();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getIdentParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__0__Impl"


    // $ANTLR start "rule__Rule__Group__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:968:1: rule__Rule__Group__1 : rule__Rule__Group__1__Impl rule__Rule__Group__2 ;
    public final void rule__Rule__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:972:1: ( rule__Rule__Group__1__Impl rule__Rule__Group__2 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:973:2: rule__Rule__Group__1__Impl rule__Rule__Group__2
            {
            pushFollow(FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__11958);
            rule__Rule__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__11961);
            rule__Rule__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__1"


    // $ANTLR start "rule__Rule__Group__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:980:1: rule__Rule__Group__1__Impl : ( ruleDelimiter ) ;
    public final void rule__Rule__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:984:1: ( ( ruleDelimiter ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:985:1: ( ruleDelimiter )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:985:1: ( ruleDelimiter )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:986:1: ruleDelimiter
            {
             before(grammarAccess.getRuleAccess().getDelimiterParserRuleCall_1()); 
            pushFollow(FOLLOW_ruleDelimiter_in_rule__Rule__Group__1__Impl1988);
            ruleDelimiter();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getDelimiterParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__1__Impl"


    // $ANTLR start "rule__Rule__Group__2"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:997:1: rule__Rule__Group__2 : rule__Rule__Group__2__Impl ;
    public final void rule__Rule__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1001:1: ( rule__Rule__Group__2__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1002:2: rule__Rule__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__22017);
            rule__Rule__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__2"


    // $ANTLR start "rule__Rule__Group__2__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1008:1: rule__Rule__Group__2__Impl : ( ( rule__Rule__RhsAssignment_2 ) ) ;
    public final void rule__Rule__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1012:1: ( ( ( rule__Rule__RhsAssignment_2 ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1013:1: ( ( rule__Rule__RhsAssignment_2 ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1013:1: ( ( rule__Rule__RhsAssignment_2 ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1014:1: ( rule__Rule__RhsAssignment_2 )
            {
             before(grammarAccess.getRuleAccess().getRhsAssignment_2()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1015:1: ( rule__Rule__RhsAssignment_2 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1015:2: rule__Rule__RhsAssignment_2
            {
            pushFollow(FOLLOW_rule__Rule__RhsAssignment_2_in_rule__Rule__Group__2__Impl2044);
            rule__Rule__RhsAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getRhsAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__2__Impl"


    // $ANTLR start "rule__Rewrite__Group__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1031:1: rule__Rewrite__Group__0 : rule__Rewrite__Group__0__Impl rule__Rewrite__Group__1 ;
    public final void rule__Rewrite__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1035:1: ( rule__Rewrite__Group__0__Impl rule__Rewrite__Group__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1036:2: rule__Rewrite__Group__0__Impl rule__Rewrite__Group__1
            {
            pushFollow(FOLLOW_rule__Rewrite__Group__0__Impl_in_rule__Rewrite__Group__02080);
            rule__Rewrite__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rewrite__Group__1_in_rule__Rewrite__Group__02083);
            rule__Rewrite__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rewrite__Group__0"


    // $ANTLR start "rule__Rewrite__Group__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1043:1: rule__Rewrite__Group__0__Impl : ( '<' ) ;
    public final void rule__Rewrite__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1047:1: ( ( '<' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1048:1: ( '<' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1048:1: ( '<' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1049:1: '<'
            {
             before(grammarAccess.getRewriteAccess().getLessThanSignKeyword_0()); 
            match(input,17,FOLLOW_17_in_rule__Rewrite__Group__0__Impl2111); 
             after(grammarAccess.getRewriteAccess().getLessThanSignKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rewrite__Group__0__Impl"


    // $ANTLR start "rule__Rewrite__Group__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1062:1: rule__Rewrite__Group__1 : rule__Rewrite__Group__1__Impl rule__Rewrite__Group__2 ;
    public final void rule__Rewrite__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1066:1: ( rule__Rewrite__Group__1__Impl rule__Rewrite__Group__2 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1067:2: rule__Rewrite__Group__1__Impl rule__Rewrite__Group__2
            {
            pushFollow(FOLLOW_rule__Rewrite__Group__1__Impl_in_rule__Rewrite__Group__12142);
            rule__Rewrite__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rewrite__Group__2_in_rule__Rewrite__Group__12145);
            rule__Rewrite__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rewrite__Group__1"


    // $ANTLR start "rule__Rewrite__Group__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1074:1: rule__Rewrite__Group__1__Impl : ( ruleRewriteRHS ) ;
    public final void rule__Rewrite__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1078:1: ( ( ruleRewriteRHS ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1079:1: ( ruleRewriteRHS )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1079:1: ( ruleRewriteRHS )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1080:1: ruleRewriteRHS
            {
             before(grammarAccess.getRewriteAccess().getRewriteRHSParserRuleCall_1()); 
            pushFollow(FOLLOW_ruleRewriteRHS_in_rule__Rewrite__Group__1__Impl2172);
            ruleRewriteRHS();

            state._fsp--;

             after(grammarAccess.getRewriteAccess().getRewriteRHSParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rewrite__Group__1__Impl"


    // $ANTLR start "rule__Rewrite__Group__2"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1091:1: rule__Rewrite__Group__2 : rule__Rewrite__Group__2__Impl ;
    public final void rule__Rewrite__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1095:1: ( rule__Rewrite__Group__2__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1096:2: rule__Rewrite__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Rewrite__Group__2__Impl_in_rule__Rewrite__Group__22201);
            rule__Rewrite__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rewrite__Group__2"


    // $ANTLR start "rule__Rewrite__Group__2__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1102:1: rule__Rewrite__Group__2__Impl : ( '>' ) ;
    public final void rule__Rewrite__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1106:1: ( ( '>' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1107:1: ( '>' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1107:1: ( '>' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1108:1: '>'
            {
             before(grammarAccess.getRewriteAccess().getGreaterThanSignKeyword_2()); 
            match(input,18,FOLLOW_18_in_rule__Rewrite__Group__2__Impl2229); 
             after(grammarAccess.getRewriteAccess().getGreaterThanSignKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rewrite__Group__2__Impl"


    // $ANTLR start "rule__Position__Group__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1127:1: rule__Position__Group__0 : rule__Position__Group__0__Impl rule__Position__Group__1 ;
    public final void rule__Position__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1131:1: ( rule__Position__Group__0__Impl rule__Position__Group__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1132:2: rule__Position__Group__0__Impl rule__Position__Group__1
            {
            pushFollow(FOLLOW_rule__Position__Group__0__Impl_in_rule__Position__Group__02266);
            rule__Position__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Position__Group__1_in_rule__Position__Group__02269);
            rule__Position__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Position__Group__0"


    // $ANTLR start "rule__Position__Group__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1139:1: rule__Position__Group__0__Impl : ( '$' ) ;
    public final void rule__Position__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1143:1: ( ( '$' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1144:1: ( '$' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1144:1: ( '$' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1145:1: '$'
            {
             before(grammarAccess.getPositionAccess().getDollarSignKeyword_0()); 
            match(input,19,FOLLOW_19_in_rule__Position__Group__0__Impl2297); 
             after(grammarAccess.getPositionAccess().getDollarSignKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Position__Group__0__Impl"


    // $ANTLR start "rule__Position__Group__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1158:1: rule__Position__Group__1 : rule__Position__Group__1__Impl ;
    public final void rule__Position__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1162:1: ( rule__Position__Group__1__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1163:2: rule__Position__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Position__Group__1__Impl_in_rule__Position__Group__12328);
            rule__Position__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Position__Group__1"


    // $ANTLR start "rule__Position__Group__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1169:1: rule__Position__Group__1__Impl : ( RULE_INT ) ;
    public final void rule__Position__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1173:1: ( ( RULE_INT ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1174:1: ( RULE_INT )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1174:1: ( RULE_INT )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1175:1: RULE_INT
            {
             before(grammarAccess.getPositionAccess().getINTTerminalRuleCall_1()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Position__Group__1__Impl2355); 
             after(grammarAccess.getPositionAccess().getINTTerminalRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Position__Group__1__Impl"


    // $ANTLR start "rule__RuleName__Group__0"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1190:1: rule__RuleName__Group__0 : rule__RuleName__Group__0__Impl rule__RuleName__Group__1 ;
    public final void rule__RuleName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1194:1: ( rule__RuleName__Group__0__Impl rule__RuleName__Group__1 )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1195:2: rule__RuleName__Group__0__Impl rule__RuleName__Group__1
            {
            pushFollow(FOLLOW_rule__RuleName__Group__0__Impl_in_rule__RuleName__Group__02388);
            rule__RuleName__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleName__Group__1_in_rule__RuleName__Group__02391);
            rule__RuleName__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleName__Group__0"


    // $ANTLR start "rule__RuleName__Group__0__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1202:1: rule__RuleName__Group__0__Impl : ( ':' ) ;
    public final void rule__RuleName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1206:1: ( ( ':' ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1207:1: ( ':' )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1207:1: ( ':' )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1208:1: ':'
            {
             before(grammarAccess.getRuleNameAccess().getColonKeyword_0()); 
            match(input,12,FOLLOW_12_in_rule__RuleName__Group__0__Impl2419); 
             after(grammarAccess.getRuleNameAccess().getColonKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleName__Group__0__Impl"


    // $ANTLR start "rule__RuleName__Group__1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1221:1: rule__RuleName__Group__1 : rule__RuleName__Group__1__Impl ;
    public final void rule__RuleName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1225:1: ( rule__RuleName__Group__1__Impl )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1226:2: rule__RuleName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__RuleName__Group__1__Impl_in_rule__RuleName__Group__12450);
            rule__RuleName__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleName__Group__1"


    // $ANTLR start "rule__RuleName__Group__1__Impl"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1232:1: rule__RuleName__Group__1__Impl : ( ruleIdent ) ;
    public final void rule__RuleName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1236:1: ( ( ruleIdent ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1237:1: ( ruleIdent )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1237:1: ( ruleIdent )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1238:1: ruleIdent
            {
             before(grammarAccess.getRuleNameAccess().getIdentParserRuleCall_1()); 
            pushFollow(FOLLOW_ruleIdent_in_rule__RuleName__Group__1__Impl2477);
            ruleIdent();

            state._fsp--;

             after(grammarAccess.getRuleNameAccess().getIdentParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleName__Group__1__Impl"


    // $ANTLR start "rule__TypeMapFile__SymbolMappingsAssignment_0_1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1254:1: rule__TypeMapFile__SymbolMappingsAssignment_0_1 : ( ruleSymbolMapping ) ;
    public final void rule__TypeMapFile__SymbolMappingsAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1258:1: ( ( ruleSymbolMapping ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1259:1: ( ruleSymbolMapping )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1259:1: ( ruleSymbolMapping )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1260:1: ruleSymbolMapping
            {
             before(grammarAccess.getTypeMapFileAccess().getSymbolMappingsSymbolMappingParserRuleCall_0_1_0()); 
            pushFollow(FOLLOW_ruleSymbolMapping_in_rule__TypeMapFile__SymbolMappingsAssignment_0_12515);
            ruleSymbolMapping();

            state._fsp--;

             after(grammarAccess.getTypeMapFileAccess().getSymbolMappingsSymbolMappingParserRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__SymbolMappingsAssignment_0_1"


    // $ANTLR start "rule__TypeMapFile__RulemappingAssignment_1_1"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1269:1: rule__TypeMapFile__RulemappingAssignment_1_1 : ( ruleRuleMapping ) ;
    public final void rule__TypeMapFile__RulemappingAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1273:1: ( ( ruleRuleMapping ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1274:1: ( ruleRuleMapping )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1274:1: ( ruleRuleMapping )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1275:1: ruleRuleMapping
            {
             before(grammarAccess.getTypeMapFileAccess().getRulemappingRuleMappingParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleRuleMapping_in_rule__TypeMapFile__RulemappingAssignment_1_12546);
            ruleRuleMapping();

            state._fsp--;

             after(grammarAccess.getTypeMapFileAccess().getRulemappingRuleMappingParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeMapFile__RulemappingAssignment_1_1"


    // $ANTLR start "rule__SymbolMapping__MembersAssignment_2"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1284:1: rule__SymbolMapping__MembersAssignment_2 : ( ruleMembers ) ;
    public final void rule__SymbolMapping__MembersAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1288:1: ( ( ruleMembers ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1289:1: ( ruleMembers )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1289:1: ( ruleMembers )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1290:1: ruleMembers
            {
             before(grammarAccess.getSymbolMappingAccess().getMembersMembersParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleMembers_in_rule__SymbolMapping__MembersAssignment_22577);
            ruleMembers();

            state._fsp--;

             after(grammarAccess.getSymbolMappingAccess().getMembersMembersParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SymbolMapping__MembersAssignment_2"


    // $ANTLR start "rule__Members__IdentsAssignment"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1299:1: rule__Members__IdentsAssignment : ( ruleIdent ) ;
    public final void rule__Members__IdentsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1303:1: ( ( ruleIdent ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1304:1: ( ruleIdent )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1304:1: ( ruleIdent )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1305:1: ruleIdent
            {
             before(grammarAccess.getMembersAccess().getIdentsIdentParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleIdent_in_rule__Members__IdentsAssignment2608);
            ruleIdent();

            state._fsp--;

             after(grammarAccess.getMembersAccess().getIdentsIdentParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Members__IdentsAssignment"


    // $ANTLR start "rule__Rule__RhsAssignment_2"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1314:1: rule__Rule__RhsAssignment_2 : ( ruleRHS ) ;
    public final void rule__Rule__RhsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1318:1: ( ( ruleRHS ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1319:1: ( ruleRHS )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1319:1: ( ruleRHS )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1320:1: ruleRHS
            {
             before(grammarAccess.getRuleAccess().getRhsRHSParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleRHS_in_rule__Rule__RhsAssignment_22639);
            ruleRHS();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getRhsRHSParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__RhsAssignment_2"


    // $ANTLR start "rule__RHS__ElemntsAssignment"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1329:1: rule__RHS__ElemntsAssignment : ( ruleElement ) ;
    public final void rule__RHS__ElemntsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1333:1: ( ( ruleElement ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1334:1: ( ruleElement )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1334:1: ( ruleElement )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1335:1: ruleElement
            {
             before(grammarAccess.getRHSAccess().getElemntsElementParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleElement_in_rule__RHS__ElemntsAssignment2670);
            ruleElement();

            state._fsp--;

             after(grammarAccess.getRHSAccess().getElemntsElementParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RHS__ElemntsAssignment"


    // $ANTLR start "rule__Ident__RefAssignment"
    // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1344:1: rule__Ident__RefAssignment : ( ( RULE_ID ) ) ;
    public final void rule__Ident__RefAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1348:1: ( ( ( RULE_ID ) ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1349:1: ( ( RULE_ID ) )
            {
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1349:1: ( ( RULE_ID ) )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1350:1: ( RULE_ID )
            {
             before(grammarAccess.getIdentAccess().getRefNonTerminalCrossReference_0()); 
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1351:1: ( RULE_ID )
            // ../de.sabram.upb.specs.map.ui/src-gen/de/sabram/upb/specs/ui/contentassist/antlr/internal/InternalMap.g:1352:1: RULE_ID
            {
             before(grammarAccess.getIdentAccess().getRefNonTerminalIDTerminalRuleCall_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Ident__RefAssignment2705); 
             after(grammarAccess.getIdentAccess().getRefNonTerminalIDTerminalRuleCall_0_1()); 

            }

             after(grammarAccess.getIdentAccess().getRefNonTerminalCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ident__RefAssignment"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleTypeMapFile_in_entryRuleTypeMapFile61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTypeMapFile68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Alternatives_in_ruleTypeMapFile96 = new BitSet(new long[]{0x000000000000C802L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Alternatives_in_ruleTypeMapFile108 = new BitSet(new long[]{0x000000000000C802L});
    public static final BitSet FOLLOW_ruleSymbolMapping_in_entryRuleSymbolMapping138 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSymbolMapping145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__0_in_ruleSymbolMapping171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMembers_in_entryRuleMembers198 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMembers205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Members__IdentsAssignment_in_ruleMembers233 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__Members__IdentsAssignment_in_ruleMembers245 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_ruleRuleMapping_in_entryRuleRuleMapping275 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRuleMapping282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__0_in_ruleRuleMapping308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_entryRuleRule335 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRule342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__0_in_ruleRule368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDelimiter_in_entryRuleDelimiter395 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDelimiter402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Delimiter__Alternatives_in_ruleDelimiter428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRHS_in_entryRuleRHS455 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRHS462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RHS__ElemntsAssignment_in_ruleRHS488 = new BitSet(new long[]{0x0000000000000052L});
    public static final BitSet FOLLOW_ruleElement_in_entryRuleElement516 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleElement523 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Element__Alternatives_in_ruleElement549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRewrite_in_entryRuleRewrite576 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRewrite583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rewrite__Group__0_in_ruleRewrite609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRewriteRHS_in_entryRuleRewriteRHS636 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRewriteRHS643 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RewriteRHS__Alternatives_in_ruleRewriteRHS671 = new BitSet(new long[]{0x0000000000080012L});
    public static final BitSet FOLLOW_rule__RewriteRHS__Alternatives_in_ruleRewriteRHS683 = new BitSet(new long[]{0x0000000000080012L});
    public static final BitSet FOLLOW_rulePosition_in_entryRulePosition713 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePosition720 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Position__Group__0_in_rulePosition746 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleName_in_entryRuleRuleName773 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRuleName780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleName__Group__0_in_ruleRuleName806 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIdent_in_entryRuleIdent833 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIdent840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ident__RefAssignment_in_ruleIdent866 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_0__0_in_rule__TypeMapFile__Alternatives902 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_1__0_in_rule__TypeMapFile__Alternatives920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__TypeMapFile__Alternatives939 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Delimiter__Alternatives974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Delimiter__Alternatives994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIdent_in_rule__Element__Alternatives1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Element__Alternatives1045 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePosition_in_rule__RewriteRHS__Alternatives1077 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__RewriteRHS__Alternatives1094 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_0__0__Impl_in_rule__TypeMapFile__Group_0__01124 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_0__1_in_rule__TypeMapFile__Group_0__01127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__TypeMapFile__Group_0__0__Impl1155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_0__1__Impl_in_rule__TypeMapFile__Group_0__11186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__SymbolMappingsAssignment_0_1_in_rule__TypeMapFile__Group_0__1__Impl1215 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__TypeMapFile__SymbolMappingsAssignment_0_1_in_rule__TypeMapFile__Group_0__1__Impl1227 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_1__0__Impl_in_rule__TypeMapFile__Group_1__01264 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_1__1_in_rule__TypeMapFile__Group_1__01267 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__TypeMapFile__Group_1__0__Impl1295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__Group_1__1__Impl_in_rule__TypeMapFile__Group_1__11326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeMapFile__RulemappingAssignment_1_1_in_rule__TypeMapFile__Group_1__1__Impl1355 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__TypeMapFile__RulemappingAssignment_1_1_in_rule__TypeMapFile__Group_1__1__Impl1367 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__0__Impl_in_rule__SymbolMapping__Group__01404 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__1_in_rule__SymbolMapping__Group__01407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIdent_in_rule__SymbolMapping__Group__0__Impl1434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__1__Impl_in_rule__SymbolMapping__Group__11463 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__2_in_rule__SymbolMapping__Group__11466 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__SymbolMapping__Group__1__Impl1494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__2__Impl_in_rule__SymbolMapping__Group__21525 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__3_in_rule__SymbolMapping__Group__21528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SymbolMapping__MembersAssignment_2_in_rule__SymbolMapping__Group__2__Impl1555 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SymbolMapping__Group__3__Impl_in_rule__SymbolMapping__Group__31585 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__SymbolMapping__Group__3__Impl1613 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__0__Impl_in_rule__RuleMapping__Group__01652 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__1_in_rule__RuleMapping__Group__01655 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_rule__RuleMapping__Group__0__Impl1682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__1__Impl_in_rule__RuleMapping__Group__11711 = new BitSet(new long[]{0x0000000000011000L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__2_in_rule__RuleMapping__Group__11714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRewrite_in_rule__RuleMapping__Group__1__Impl1741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__2__Impl_in_rule__RuleMapping__Group__21770 = new BitSet(new long[]{0x0000000000011000L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__3_in_rule__RuleMapping__Group__21773 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleName_in_rule__RuleMapping__Group__2__Impl1801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleMapping__Group__3__Impl_in_rule__RuleMapping__Group__31832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__RuleMapping__Group__3__Impl1860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__01899 = new BitSet(new long[]{0x0000000000003000L});
    public static final BitSet FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__01902 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIdent_in_rule__Rule__Group__0__Impl1929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__11958 = new BitSet(new long[]{0x0000000000000050L});
    public static final BitSet FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__11961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDelimiter_in_rule__Rule__Group__1__Impl1988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__22017 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__RhsAssignment_2_in_rule__Rule__Group__2__Impl2044 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rewrite__Group__0__Impl_in_rule__Rewrite__Group__02080 = new BitSet(new long[]{0x0000000000080010L});
    public static final BitSet FOLLOW_rule__Rewrite__Group__1_in_rule__Rewrite__Group__02083 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Rewrite__Group__0__Impl2111 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rewrite__Group__1__Impl_in_rule__Rewrite__Group__12142 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Rewrite__Group__2_in_rule__Rewrite__Group__12145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRewriteRHS_in_rule__Rewrite__Group__1__Impl2172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rewrite__Group__2__Impl_in_rule__Rewrite__Group__22201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Rewrite__Group__2__Impl2229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Position__Group__0__Impl_in_rule__Position__Group__02266 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Position__Group__1_in_rule__Position__Group__02269 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Position__Group__0__Impl2297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Position__Group__1__Impl_in_rule__Position__Group__12328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Position__Group__1__Impl2355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleName__Group__0__Impl_in_rule__RuleName__Group__02388 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__RuleName__Group__1_in_rule__RuleName__Group__02391 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__RuleName__Group__0__Impl2419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleName__Group__1__Impl_in_rule__RuleName__Group__12450 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIdent_in_rule__RuleName__Group__1__Impl2477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSymbolMapping_in_rule__TypeMapFile__SymbolMappingsAssignment_0_12515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleMapping_in_rule__TypeMapFile__RulemappingAssignment_1_12546 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMembers_in_rule__SymbolMapping__MembersAssignment_22577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIdent_in_rule__Members__IdentsAssignment2608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRHS_in_rule__Rule__RhsAssignment_22639 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleElement_in_rule__RHS__ElemntsAssignment2670 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Ident__RefAssignment2705 = new BitSet(new long[]{0x0000000000000002L});

}